package com.ls.lserp.modules.material.dao;

import java.util.List;

import com.ls.lserp.common.persistence.CrudDao;
import com.ls.lserp.common.persistence.annotation.MyBatisDao;
import com.ls.lserp.dbaccess.Entity.SampleEntity;
import com.ls.lserp.modules.common.entity.OgnizationEntity;
import com.ls.lserp.modules.material.entity.SlopworkInRequest;
import com.ls.lserp.modules.material.entity.SlopworkOutrequest;

@MyBatisDao
public interface SlopworkOutrequestDao extends CrudDao<SlopworkOutrequest>{

	/**
	  * @Title: findClothesRequestDetailList
	  * @Description: 查看画面明细
	  * @param @param slopworkOutrequest
	  * @param @return
	  * @return List<SlopworkOutrequest> 
	  * @throws
	  */
	public List<SlopworkOutrequest> findClothesRequestDetailList(SlopworkOutrequest slopworkOutrequest);
	
	/**
	  * @Title: findClothesRequestDetailList
	  * @Description: 查看画面明细
	  * @param @param slopworkOutrequest
	  * @param @return
	  * @return List<SlopworkOutrequest> 
	  * @throws
	  */
	public List<SlopworkOutrequest> findShowRequestDetailList(SlopworkOutrequest slopworkOutrequest);

	/**
	  * @Title: getProductionList
	  * @Description: 生产制单
	  * @param @return
	  * @return List<SlopworkOutrequest> 
	  * @throws
	  */
	public List<SlopworkOutrequest> getProductionList();	
	
	/**
	  * @Title: getFabricatList
	  * @Description: 加工厂
	  * @param @return
	  * @return List<OgnizationEntity> 
	  * @throws
	  */
	public List<OgnizationEntity> getFabricatList();

	/**
	  * @Title: getContractProcessingList
	  * @Description: 外发合同单号
	  * @param @param slopworkOutrequest
	  * @param @return
	  * @return List<SlopworkOutrequest> 
	  * @throws
	  */
	public List<SlopworkOutrequest> getContractProcessingList(SlopworkOutrequest slopworkOutrequest);	

	/**
	  * @Title: getStyleList
	  * @Description: 款式
	  * @param @param slopworkOutrequest
	  * @param @return
	  * @return List<SlopworkOutrequest> 
	  * @throws
	  */
	public List<SlopworkOutrequest> getStyleList(SlopworkOutrequest slopworkOutrequest);

	/**
	  * @Title: findClothesRequestDetailList
	  * @Description: 创建画面明细
	  * @param @param slopworkOutrequest
	  * @param @return
	  * @return List<SlopworkOutrequest> 
	  * @throws
	  */
	public List<SlopworkOutrequest> findCreateRequestDetailList(SlopworkOutrequest slopworkOutrequest);

	/**
	  * @Title: getProduction
	  * @Description: 生产制单
	  * @param @param slopworkOutrequest
	  * @param @return
	  * @return SlopworkOutrequest 
	  * @throws
	  */
	public SlopworkOutrequest getProduction(SlopworkOutrequest slopworkOutrequest);

	/**
	  * @Title: getContractNo
	  * @Description: 通过外发合同明细表，查找客户合同号
	  * @param @return
	  * @return SlopworkOutrequest
	  * @throws
	  */
	public SlopworkOutrequest getContractNo(SlopworkOutrequest slopworkOutrequest);

	/**
	 * 入库申请单
	 * @param inventoryRequest
	 * @return
	 */
	public int insertInventoryRequest(SlopworkOutrequest slopworkOutreques);

	
	/**
	  * @Title: updateInventoryRequest
	  * @Description: 更新入库申请
	  * @param @param slopworkOutreques
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int updateInventoryRequest(SlopworkOutrequest slopworkOutreques);

	
	/**
	  * @Title: deleteRequestDetails
	  * @Description: 物理删除入库申请明细
	  * @param @param slopworkOutreques
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int deleteRequestDetails(SlopworkOutrequest slopworkOutreques);

	
	/**
	 * 入库申请单详细
	 * @param inventoryRequest
	 * @return
	 */
	public int insertInventoryRequestDetails(SlopworkOutrequest slopworkOutreques);

	/**
	 * @Title: getSamplyOrderList
	 * @Description: 样品需求订单
	 * @param @return
	 * @return List<SampleEntity>
	 * @throws
	 */
	public List<SampleEntity> getSamplyOrderList();

	/**
	 * @Title: findSamplyClothesRequestDetailList
	 * @Description: 创建样品画面明细
	 * @param @param slopworkOutrequest
	 * @param @return
	 * @return List<SlopworkOutrequest>
	 * @throws
	 */
	public List<SlopworkOutrequest> findSamplyClothesRequestDetailList(SlopworkOutrequest slopworkOutrequest);

    /**
     * @Title: findShowSamplyRequestDetailList
     * @Description: 查看画面样品明细
     * @param @param slopworkOutrequest
     * @param @return
     * @return List<SlopworkOutrequest>
     * @throws
     */
    public List<SlopworkOutrequest> findShowSamplyRequestDetailList(SlopworkOutrequest slopworkOutrequest);
	/**
	 * @Title: getContractList
	 * @Description: 合同编号
	 * @param @return
	 * @return List<SlopworkOutrequest>
	 * @throws
	 */
	public List<SlopworkOutrequest> getContractList();

	/**
	 * @Title: getContractStyleList
	 * @Description: 款式
	 * @param @param slopworkOutrequest
	 * @param @return
	 * @return List<SlopworkOutrequest>
	 * @throws
	 */
	public List<SlopworkOutrequest> getContractStyleList(SlopworkOutrequest slopworkOutrequest);

	/**
	 * @Title: getContractList
	 * @Description: 合同编号
	 * @param @return
	 * @return List<SlopworkOutrequest>
	 * @throws
	 */
	public List<SlopworkOutrequest> findCreateContractList(SlopworkOutrequest slopworkOutrequest);

	public List<SlopworkOutrequest>  getStyleNoByStyleId(Long styleId);
}
